import re

# findall方法返回匹配的结果列表
rs = re.findall('\d', 'from1to2-34')  # ['1', '2', '3', '4']

# findall方法中flags的作用
rs = re.findall('a.bc', 'a\nbc',
                flags=re.DOTALL)  # .号不能匹配换行符,但flags=re.DOTALL后.号就能匹配转义了

# findall 分组的使用
rs = re.findall('a.+bc', 'a\nbc', flags=re.DOTALL)  # ['a\nbc']
rs = re.findall('a(.+)bc', 'a\nbc',
                flags=re.DOTALL)  # ['\n'] 当模板中有分组时,两边的东西用来定位，只返回括号里面匹配的字符

# r原串的使用 : 消除转义符带来的影响
rs = re.findall('a\nbc', 'a\nbc')  # ['a\nbc']
rs = re.findall(r'a\\nbc', 'a\\nbc')  # ['a\\nbc']
# 它也可以解决写正则时候不符合PEP8规范的问题
rs = re.findall(r'\d','a123')
print(rs)